com.supermap.mapping

类 TrackingLayer

  • java.lang.Object
    • com.supermap.mapping.TrackingLayer


  • public class TrackingLayer
    extends java.lang.Object
    跟踪图层类。

    在 SuperMap 中,每个地图窗口都有一个跟踪图层,确切地说,每个地图显示时都有一个跟踪图层。 跟踪图层是一个空白的透明图层,总是在地图各图层的最上层,主要用于在一个处理或分析过程中,临时存放一些图形对象,以及一些文本等。 只要地图显示,跟踪图层就会存在,不可以删除跟踪图层,也不可以改变其位置。

    在 SuperMap iMobile中跟踪图层的作用主要有以下方面:

    当不想往记录集中添加几何对象,而又需要这个几何对象的时候,就可以把这个几何对象临时添加到跟踪图层上,用完该几何对象之后清除跟踪图层即可。例如,当需要测量距离时,需要在地图上拉一条线,但是这一条线在地图上并不存在,此时就可以使用跟踪图层来实现。

    • 方法概要

      所有方法 实例方法 具体方法 
      限定符和类型 方法和说明
      int add(Geometry geometry, java.lang.String tag)
      向当前跟踪图层中添加一个几何对象,并给出该几何对象的标签信息。
      boolean addLabel(java.lang.String name, TextStyle style, boolean visible, boolean tail)
      将用户创建的字段的字段值添加到跟踪层中显示。
      void clear()
      清空此跟踪图层中的所有几何对象。
      boolean createUserFieldDouble(java.lang.String name, int size, int attr)
      向当前跟踪图层中创建字段类型为double型的用户字段信息。
      boolean createUserFieldInt(java.lang.String name, int size, int attr)
      向当前跟踪图层中创建字段类型为int型的用户字段信息。
      boolean createUserFieldString(java.lang.String name, int size, int attr)
      向当前跟踪图层中创建字段类型为String型的用户字段信息。
      void deleteAllFeatures()
      删除跟踪图层字段的所有属性信息,包含跟踪层中的几何对象及字段信息的值,属性表结构仍存在。
      boolean deleteUserField(java.lang.String fieldname)
      删除跟踪图层指定名称的字段。
      boolean flushBulkEdit()
      对跟踪图层进行批量更新。
      Geometry get(int id)
      返回此跟踪图层中指定索引的几何对象。
      int getCount()
      返回当前跟踪图层的几何对象的个数。
      int GetEvent(java.lang.String tag)
      获取跟踪图层中指定标签的几何对象的索引。
      double getFieldDouble(int index, java.lang.String fieldname)
      获取跟踪图层中指定的ID的指定字段名称的的double型的字段的值。
      FieldInfo getFieldInfo(java.lang.String fieldname)
      获取跟踪图层中指定字段名称的字段信息。
      FieldInfos getFieldInfos()
      获取跟踪图层的字段信息集合。
      int getFieldInt(int index, java.lang.String fieldname)
      获取跟踪图层中指定的ID的指定字段名称的的int型的字段的值。
      java.lang.String getFieldName(int index)
      获取跟踪图层中用户创建的字段的指定ID的字段名称。
      java.lang.String getFieldString(int index, java.lang.String fieldname)
      获取跟踪图层中指定的ID的指定字段名称的的String型的字段的值。
      java.lang.String getTag(int index)
      返回此跟踪图层中指定ID的几何对象的标签信息。
      int hitTest(Point2D point2D, double tolerance)
      返回满足条件的几何对象的 ID。
      int[] hitTestAll(Point2D point, double tolerance)
      返回满足条件的几何对象的 所有ID。
      int hitTestEx(Point point, int tolerance)
      返回满足条件的几何对象的 ID。
      int[] hitTestExAll(Point point, int tolerance)
      返回满足条件的几何对象的 所有ID。
      int indexOf(java.lang.String tag)
      返回第一个与指定标签信息相同的几何对象的ID。
      boolean isAsyncRefresh()
      返回跟踪层是否实时渲染
      boolean isSymbolScalable()
      返回跟踪图层的符号大小是否随图缩放。
      boolean isVisible()
      返回此跟踪图层是否可见。
      boolean labelMoveBottom(java.lang.String tag)
      将跟踪图层显示的指定名称的字段值移动到底部。
      boolean labelMoveDown(java.lang.String tag)
      将跟踪图层显示的指定名称的字段值下移一层。
      boolean labelMoveTop(java.lang.String tag)
      将跟踪图层显示的指定名称的字段值移动到顶部。
      boolean labelMoveUp(java.lang.String tag)
      将跟踪图层显示的指定名称的字段值上移一层。
      void refresh()
      跟踪层刷新
      boolean remove(int index)
      在当前跟踪图层中删除指定ID的几何对象。
      boolean removeLabel(java.lang.String fieldname)
      将前跟踪图层中显示的字段值移除。
      boolean set(int index, Geometry geometry)
      将跟踪图层中的指定的索引处的几何对象替换为指定的几何对象,若此索引处原先有其他几何对象,则会被删除。
      void setAsyncRefresh(boolean bAsync)
      设置跟踪层是否实时渲染
      boolean setEditBulk(boolean bulkon)
      在当前跟踪图层中开启批量更新。
      boolean setFieldDouble(java.lang.String fieldname, double dVar)
      设置此跟踪图层中最新添加的点对象的指定名称字段的Double类型的值。
      boolean setFieldDoubleEx(java.lang.String fieldname, double dVar, int index)
      设置此跟踪图层指定记录的指定字段的double类型的值。
      boolean setFieldInt(java.lang.String fieldname, int iVar)
      设置此跟踪图层中最新添加的点对象的指定名称字段的int类型的值。
      boolean setFieldIntEx(java.lang.String fieldname, int iVar, int index)
      设置此跟踪图层指定记录的指定字段的int类型的值。
      boolean setFieldString(java.lang.String fieldname, java.lang.String strVar)
      设置此跟踪图层中最新添加的点对象的指定名称字段的String类型的值。
      boolean setFieldStringEx(java.lang.String fieldname, java.lang.String strVar, int index)
      设置此跟踪图层指定记录的指定字段的String类型的值。
      void setGuideLineStyle(GeoStyle style)
      设置引导线的风格,默认是虚实线 使用时在setShowGuideLine方法前声明
      boolean setLabelCaption(java.lang.String fieldname, java.lang.String Caption)
      设置此跟踪图层指定名称的标签的别名。
      boolean setLabelOffset(java.lang.String fieldname, short x, short y)
      设置此跟踪图层指定名称的字段标签偏移指定的量。
      boolean setLabelTextStyle(java.lang.String fieldname, TextStyle style)
      设置此跟踪图层指定名称的字段标签的文本风格为指定的风格。
      boolean setLabelVisible(java.lang.String fieldname, boolean visible)
      设置此跟踪图层指定名称的字段标签是否可见。
      void setShowGuideLine(boolean bShow, GeoLineM[] routes, Point2D start, Point2D end)
      设置是否显示起点和终点的引导线
      void setSymbolOffset(short x, short y)
      设置此跟踪图层几何对象的符号偏移指定的量。
      boolean setTag(int index, java.lang.String tag)
      设置此跟踪图层中指定ID的几何对象的标签信息。
      void setVisible(boolean value)
      设置此跟踪图层是否可见。
      • 从类继承的方法 java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 方法详细资料

      • getCount

        public int getCount()
        返回当前跟踪图层的几何对象的个数。
        返回:
        当前跟踪图层的几何对象的个数。
        Default:
        默认值为 0。
      • isVisible

        public boolean isVisible()
        返回此跟踪图层是否可见。true 表示此跟踪图层可见,false 表示此跟踪图层不可见。当此跟踪图层不可见时,其他的设置都将无效。
        返回:
        一个布尔值指示此图层是否可见。
        Default:
        默认值为 true。
      • setVisible

        public void setVisible(boolean value)
        设置此跟踪图层是否可见。true 表示此跟踪图层可见,false 表示此跟踪图层不可见。当此跟踪图层不可见时,其他的设置都将无效。
        参数:
        value - 一个布尔值指示此图层是否可见。
      • isSymbolScalable

        public boolean isSymbolScalable()
        返回跟踪图层的符号大小是否随图缩放。true 表示当随着地图的缩放而缩放,在地图放大的同时,符号同时也放大。
        返回:
        一个布尔值指示跟踪图层的符号大小是否随图缩放。
        Default:
        默认值为 false。
      • add

        public int add(Geometry geometry,
                       java.lang.String tag)
        向当前跟踪图层中添加一个几何对象,并给出该几何对象的标签信息。
        参数:
        geometry - 要添加的几何对象。
        tag - 要添加的几何对象的标签信息。
        返回:
        添加到跟踪图层的几何对象的索引,即该几何对象的ID。
        Example:
        请参见 TextStyle 的示例。
      • addLabel

        public boolean addLabel(java.lang.String name,
                                TextStyle style,
                                boolean visible,
                                boolean tail)
        将用户创建的字段的字段值添加到跟踪层中显示。
        参数:
        name - 用户所创建的字段的名称。
        style - 添加的字段的文本内容的风格。
        visible - 添加的字段是否可见。true为可见,false为不可见。
        tail - 添加的标签的位置为上一层还是下一层。true为上一层,false为添加下一层。
        返回:
        添加成功则返回true;否则返回false。
      • createUserFieldDouble

        public boolean createUserFieldDouble(java.lang.String name,
                                             int size,
                                             int attr)
        向当前跟踪图层中创建字段类型为double型的用户字段信息。
        参数:
        name - 创建字段的名称。
        size - 创建字段的长度。
        attr - 创建字段属性,默认值为0。
        返回:
        创建字段成功则返回true;否则返回false。
      • createUserFieldInt

        public boolean createUserFieldInt(java.lang.String name,
                                          int size,
                                          int attr)
        向当前跟踪图层中创建字段类型为int型的用户字段信息。
        参数:
        name - 创建字段的名称。
        size - 创建字段的长度。
        attr - 创建字段属性,默认值为0。
        返回:
        创建字段成功则返回true;否则返回false。
      • createUserFieldString

        public boolean createUserFieldString(java.lang.String name,
                                             int size,
                                             int attr)
        向当前跟踪图层中创建字段类型为String型的用户字段信息。
        参数:
        name - 创建字段的名称。
        size - 创建字段的长度。
        attr - 创建字段属性,默认值为0。
        返回:
        创建字段成功则返回true;否则返回false。
      • deleteAllFeatures

        public void deleteAllFeatures()
        删除跟踪图层字段的所有属性信息,包含跟踪层中的几何对象及字段信息的值,属性表结构仍存在。
      • deleteUserField

        public boolean deleteUserField(java.lang.String fieldname)
        删除跟踪图层指定名称的字段。
        参数:
        fieldname - 即将要删除的字段的名称。
        返回:
        删除成功则返回true;否则返回false。
      • flushBulkEdit

        public boolean flushBulkEdit()
        对跟踪图层进行批量更新。
        返回:
        批量更新成功则返回true;否则返回false。
      • GetEvent

        public int GetEvent(java.lang.String tag)
        获取跟踪图层中指定标签的几何对象的索引。
        参数:
        tag - 几何对象的标签。
        返回:
        几何对象的ID。
      • getFieldDouble

        public double getFieldDouble(int index,
                                     java.lang.String fieldname)
        获取跟踪图层中指定的ID的指定字段名称的的double型的字段的值。
        参数:
        index - 指定的ID。
        fieldname - 指定字段的名称。
        返回:
        字段值。
      • getFieldInt

        public int getFieldInt(int index,
                               java.lang.String fieldname)
        获取跟踪图层中指定的ID的指定字段名称的的int型的字段的值。
        参数:
        index - 指定的ID。
        fieldname - 指定字段的名称。
        返回:
        字段值。
      • getFieldString

        public java.lang.String getFieldString(int index,
                                               java.lang.String fieldname)
        获取跟踪图层中指定的ID的指定字段名称的的String型的字段的值。
        参数:
        index - 指定的ID。
        fieldname - 指定字段的名称。
        返回:
        字段值。
      • getFieldInfo

        public FieldInfo getFieldInfo(java.lang.String fieldname)
        获取跟踪图层中指定字段名称的字段信息。
        参数:
        fieldname - 指定字段的名称。
        返回:
        字段信息。
      • getFieldInfos

        public FieldInfos getFieldInfos()
        获取跟踪图层的字段信息集合。
        返回:
        字段信息集合。
      • getFieldName

        public java.lang.String getFieldName(int index)
        获取跟踪图层中用户创建的字段的指定ID的字段名称。
        参数:
        index - 用户创建字段的ID。
        返回:
        字段名称。
      • labelMoveUp

        public boolean labelMoveUp(java.lang.String tag)
        将跟踪图层显示的指定名称的字段值上移一层。
        参数:
        tag - 指定标签的名称。
        返回:
        上移成功则返回true;否则返回false。
      • labelMoveDown

        public boolean labelMoveDown(java.lang.String tag)
        将跟踪图层显示的指定名称的字段值下移一层。
        参数:
        tag - 指定标签的名称。
        返回:
        下移成功则返回true;否则返回false。
      • labelMoveBottom

        public boolean labelMoveBottom(java.lang.String tag)
        将跟踪图层显示的指定名称的字段值移动到底部。
        参数:
        tag - 指定标签的名称。
        返回:
        成功移动到底部则返回true;否则返回false。
      • labelMoveTop

        public boolean labelMoveTop(java.lang.String tag)
        将跟踪图层显示的指定名称的字段值移动到顶部。
        参数:
        tag - 指定标签的名称。
        返回:
        成功移动到顶层则返回true;否则返回false。
      • remove

        public boolean remove(int index)
        在当前跟踪图层中删除指定ID的几何对象。
        参数:
        index - 要删除的几何对象的ID。
        返回:
        删除成功返回 true;否则返回 false。
      • removeLabel

        public boolean removeLabel(java.lang.String fieldname)
        将前跟踪图层中显示的字段值移除。
        参数:
        fieldname - 要删除的字段值的字段名称。
        返回:
        删除成功返回 true;否则返回 false。
      • setEditBulk

        public boolean setEditBulk(boolean bulkon)
        在当前跟踪图层中开启批量更新。
        参数:
        bulkon - 布尔值,true为开启,false为不开启。
        返回:
        bulkon的值为true时则返回 true;否则返回 false。
      • setFieldDouble

        public boolean setFieldDouble(java.lang.String fieldname,
                                      double dVar)
        设置此跟踪图层中最新添加的点对象的指定名称字段的Double类型的值。
        参数:
        fieldname - 指定字段的名称。
        dVar - 指定字段的值。
        返回:
        设置成功则返回 true;否则返回 false。
      • setFieldDoubleEx

        public boolean setFieldDoubleEx(java.lang.String fieldname,
                                        double dVar,
                                        int index)
        设置此跟踪图层指定记录的指定字段的double类型的值。
        参数:
        fieldname - 指定字段的名称。
        dVar - 指定字段的值。
        index - 指定ID。
        返回:
        设置成功则返回 true;否则返回 false。
      • setFieldInt

        public boolean setFieldInt(java.lang.String fieldname,
                                   int iVar)
        设置此跟踪图层中最新添加的点对象的指定名称字段的int类型的值。
        参数:
        fieldname - 指定字段的名称。
        iVar - 指定字段的值。
        返回:
        设置成功则返回 true;否则返回 false。
      • setFieldIntEx

        public boolean setFieldIntEx(java.lang.String fieldname,
                                     int iVar,
                                     int index)
        设置此跟踪图层指定记录的指定字段的int类型的值。
        参数:
        fieldname - 指定字段的名称。
        iVar - 指定字段的值。
        index - 指定ID。
        返回:
        设置成功则返回 true;否则返回 false。
      • setFieldString

        public boolean setFieldString(java.lang.String fieldname,
                                      java.lang.String strVar)
        设置此跟踪图层中最新添加的点对象的指定名称字段的String类型的值。
        参数:
        fieldname - 指定字段的名称。
        strVar - 指定字段的值。
        返回:
        设置成功则返回 true;否则返回 false。
      • setFieldStringEx

        public boolean setFieldStringEx(java.lang.String fieldname,
                                        java.lang.String strVar,
                                        int index)
        设置此跟踪图层指定记录的指定字段的String类型的值。
        参数:
        fieldname - 指定字段的名称。
        strVar - 指定字段的值。
        index - 指定ID。
        返回:
        设置成功则返回 true;否则返回 false。
      • setLabelCaption

        public boolean setLabelCaption(java.lang.String fieldname,
                                       java.lang.String Caption)
        设置此跟踪图层指定名称的标签的别名。
        参数:
        fieldname - 指定字段的名称。
        Caption - 修改后的标签的别名。
        返回:
        设置成功则返回 true;否则返回 false。
      • setLabelOffset

        public boolean setLabelOffset(java.lang.String fieldname,
                                      short x,
                                      short y)
        设置此跟踪图层指定名称的字段标签偏移指定的量。
        参数:
        fieldname - 指定字段的名称。
        x - x方向偏移的量,单位和地图单位一致。
        y - y方向偏移的量,单位和地图单位一致。
        返回:
        设置偏移成功则返回 true;否则返回 false。
      • setLabelTextStyle

        public boolean setLabelTextStyle(java.lang.String fieldname,
                                         TextStyle style)
        设置此跟踪图层指定名称的字段标签的文本风格为指定的风格。
        参数:
        fieldname - 指定字段的名称。
        style - 指定的文本风格。
        返回:
        设置风格成功则返回 true;否则返回 false。
      • setLabelVisible

        public boolean setLabelVisible(java.lang.String fieldname,
                                       boolean visible)
        设置此跟踪图层指定名称的字段标签是否可见。
        参数:
        fieldname - 指定字段的名称。
        visible - 布尔值,值为true是可见,false为不可见。
        返回:
        设置visible值为true则返回 true;否则返回 false。
      • setSymbolOffset

        public void setSymbolOffset(short x,
                                    short y)
        设置此跟踪图层几何对象的符号偏移指定的量。
        参数:
        x - x方向偏移的量。
        y - y方向偏移的量。
      • get

        public Geometry get(int id)
        返回此跟踪图层中指定索引的几何对象。
        参数:
        id - 要返回的几何对象的ID。
        返回:
        指定ID的几何对象。
      • set

        public boolean set(int index,
                           Geometry geometry)
        将跟踪图层中的指定的索引处的几何对象替换为指定的几何对象,若此索引处原先有其他几何对象,则会被删除。
        参数:
        index - 要替换几何对象的索引。
        geometry - 用来替换的新 Geometry 对象。
        返回:
        替换成功返回 true;否则返回 false。
      • getTag

        public java.lang.String getTag(int index)
        返回此跟踪图层中指定ID的几何对象的标签信息。
        参数:
        index - 要返回标签的几何对象的索引。
        返回:
        此跟踪图层中指定索引的几何对象的标签。
      • setTag

        public boolean setTag(int index,
                              java.lang.String tag)
        设置此跟踪图层中指定ID的几何对象的标签信息。
        参数:
        index - 要设置标签的几何对象的索引。
        tag - 几何对象的新标签信息。
        返回:
        设置成功返回 true;否则返回 false。
      • clear

        public void clear()
        清空此跟踪图层中的所有几何对象。
      • hitTest

        public int hitTest(Point2D point2D,
                           double tolerance)
        返回满足条件的几何对象的 ID。若指定的点与几何对象上最近点的距离是在指定容限范围的范围内,则该几何对象的 ID 被返回。 如果跟踪图层中没有符合条件的几何对象,则返回 -1; 如果地图上有多个重叠的几何对象都满足条件,则返回最上面的几何对象的 ID。
        参数:
        point2D - 要测试的点,为地理坐标点。
        tolerance - 指定的容限,为地理长度。
        返回:
        几何对象的 ID号。
      • hitTestEx

        public int hitTestEx(Point point,
                             int tolerance)
        返回满足条件的几何对象的 ID。若指定的点与几何对象上最近点的距离是在指定容限范围的范围内,则该几何对象的 ID 被返回。 如果跟踪图层中没有符合条件的几何对象,则返回 -1; 如果地图上有多个重叠的几何对象都满足条件,则返回最上面的几何对象的 ID。
        参数:
        point - 要测试的点,为屏幕坐标点。
        tolerance - 指定的容限,为屏幕距离。
        返回:
        几何对象的 ID号。
      • indexOf

        public int indexOf(java.lang.String tag)
        返回第一个与指定标签信息相同的几何对象的ID。
        参数:
        tag - 需要进行索引检查的标签信息。
        返回:
        第一个与指定标签信息相同的几何对象的ID。
      • setShowGuideLine

        public void setShowGuideLine(boolean bShow,
                                     GeoLineM[] routes,
                                     Point2D start,
                                     Point2D end)
        设置是否显示起点和终点的引导线
        参数:
        bShow - 是否展示
        routes - 返回分析结果的路线对象集合
        start - 用户设置起点
        end - 用户设置终点
      • setGuideLineStyle

        public void setGuideLineStyle(GeoStyle style)
        设置引导线的风格,默认是虚实线 使用时在setShowGuideLine方法前声明
        参数:
        style - 风格
      • setAsyncRefresh

        public void setAsyncRefresh(boolean bAsync)
        设置跟踪层是否实时渲染
        参数:
        bAsync - 是否实时渲染 ,默认为true,实时渲染。 当为false时,跟踪层分层渲染,大数据量时提高跟踪层渲染效率
      • isAsyncRefresh

        public boolean isAsyncRefresh()
        返回跟踪层是否实时渲染
        返回:
        是否实时渲染
      • hitTestAll

        public int[] hitTestAll(Point2D point,
                                double tolerance)
        返回满足条件的几何对象的 所有ID。若指定的点与几何对象上最近点的距离是在指定容限范围的范围内,则该几何对象的 ID 被返回。 如果跟踪图层中没有符合条件的几何对象,则返回 -1; 如果地图上有多个重叠的几何对象都满足条件,则返回最上面的几何对象的 ID。
        参数:
        point2D - 要测试的点,为地理坐标点。
        tolerance - 指定的容限,为地理长度。
        返回:
        几何对象的 ID号数组。
      • hitTestExAll

        public int[] hitTestExAll(Point point,
                                  int tolerance)
        返回满足条件的几何对象的 所有ID。若指定的点与几何对象上最近点的距离是在指定容限范围的范围内,则该几何对象的 ID 被返回。 如果跟踪图层中没有符合条件的几何对象,则返回 -1; 如果地图上有多个重叠的几何对象都满足条件,则返回最上面的几何对象的 ID。
        参数:
        point - 要测试的点,为屏幕坐标点。
        tolerance - 指定的容限,为屏幕距离。
        返回:
        几何对象的 ID号数组。
      • refresh

        public void refresh()
        跟踪层刷新